package com.equipment;

import com.util.EncodingUtil;

/**
 * 手持机物理参数配置
 *
 * @author 刘亚东
 *
 */
public class HardwareParamTextRequest {

	private String STX = "55AA"; // 帧开始标志
	private String RSCTL = "00"; // 串口帧序列号
	private String Length = ""; // 数据长度
	private String code = "FD"; // 代码
	private String broadening = "AD"; // 扩展代码

	private String TxStatus = "";// 0x00：停止发送，0x01：开始发送，其他保留
	private String TxType = "";// 0:表示发送载波，1:表示发PN9，2:表示发全0，3:表示发全1，4:表示进入接收状态，其它保留

	private String bcc = "";

	/**
	 * 发送AD
	 *
	 * @return
	 */
	public String command(String txStatus, String txtype) {
		this.TxStatus = EncodingUtil.topAddZero(txStatus, 2);
		this.TxType = EncodingUtil.topAddZero(txtype, 2);
		// 计算出长度转16进制(位数不够补0)
		Length = EncodingUtil.desToHex(
				(broadening + TxStatus + TxType).length() / 2, 4);
		String DATA = RSCTL + Length + code + broadening + TxStatus + TxType;
		// 异或校验从RSCTL到DATA所有字节的异或值
		bcc = EncodingUtil.yihuo(EncodingUtil.change(DATA));
		// 拼接完整的请求
		String retn = STX + DATA + bcc;
		return retn;
	}
}
